﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using Abp.Application.Services;
using FwProject.PrePaymentInfo.Dto;
using X.PagedList;

namespace FwProject.PrePaymentInfo
{
    public interface IPaymentInfoAppService : IApplicationService
    {
        /// <summary>
        /// 生成缴款凭证
        /// </summary>
        /// <param name="ids"></param>
        /// <returns></returns>
        Task<Guid> Create(Guid[] che);

        Task<PaymentInfoDto> GetByReceiptInfoIdAsync(Guid ReceiptInfoId);

        Task<IPagedList<PaymentInfoDto>> GetPagedListAsync(int pageIdx, int pageSize, DateTime? beginTime, DateTime? endTime, long? AgentPeoperUserId, long? PaymentPerson, string PaymentNumber);

        Task<List<PaymentInfoDto>> GetAllListAsync(DateTime? beginTime, DateTime? endTime, long? AgentPeoperUserId, long? PaymentPerson, string PaymentNumber);
        /// <summary>
        /// 缴款作废
        /// </summary>
        /// <param name="ReceiptInfoId"></param>
        void ToVoid(Guid ReceiptInfoId);
        /// <summary>
        /// 缴款反审核
        /// </summary>
        /// <param name="ReceiptInfoId"></param>
        void Antiaudit(Guid ReceiptInfoId);
    }
}
